System and method for focused navigation within a user interface

ABSTRACT

A sequence of cards is stored that graphically represents available options within an information system. In response to a single user action, the sequence of cards is successively displayed within a focus area of the user interface. In response to a subsequent user action, the successive display is discontinued to display a particular card representing a selected option.

CROSS-REFERENCES TO RELATED APPLICATIONS

[0001] The present application is related to and claims priority fromU.S. Provisional Application No. 60/315,731, filed Aug. 29, 2001,entitled “System and Method for Visual Channel Surfing,” which is herebyincorporated by reference in its entirety. The present application isalso related to and claims priority from U.S. Provisional ApplicationNo. 60/317,612, filed Sep. 6, 2001, entitled “System and Method forVisual Channel Surfing,” which is hereby incorporated by reference inits entirety. The present application is further related to and claimspriority from U.S. Provisional Application No. 60/324,997, filed Sep.26, 2001, entitled “System and Method for Visual Channel Surfing UsingCenter-Focused Navigation,” which is hereby incorporated by reference inits entirety.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates generally to the field ofinformation systems. More specifically, the present invention relates toa system and method for focused navigation within a user interface of aninformation system.

[0004] 2. Description of the Related Art

[0005] Recent advances in technology have vastly increased the number ofavailable options within personal computers (PCs), interactivetelevision (ITV) systems, personal digital assistants (PDAs), cellulartelephones, and other information systems. For instance, current ITVsystems offer hundreds of broadcast channels and a variety ofinteractive options, including e-mail, videoconferencing, instantmessaging, online banking, online purchasing, and so forth.

[0006] Unfortunately, despite technological advances, user interfacesfor these systems have remained largely unchanged, making navigationthrough all of the newly available options no easy task. For example, auser of a modern ITV system must scan through potentially hundreds ofchannels and other options, often by repeatedly pressing a button on aremote control. Such an outdated approach is far too slow andinconvenient to facilitate effective operation of a modern ITV system.

[0007] Similar problems exist with PC interfaces. The graphical userinterface (GUI) of a modern PC looks remarkably similar to the first GUIdeveloped twenty years ago. Small icons representing user options arearranged in rows and columns on a graphical representation of a desktop.Many of the icons are identical, requiring the addition of text labelsas a distinguishing feature. Typically, a user must individually examineeach icon and read each label—a time-consuming process that does notlend itself to effective navigation of the numerous options available ina modern PC.

[0008] Accordingly, it would be an advancement in the art to provide auser interface that allows for rapid and efficient navigation of aplurality of options without the drawbacks of conventional approaches.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0009] Non-exhaustive embodiments of the invention are described withreference to the figures, in which:

[0010]FIG. 1 is a block diagram of an ITV system;

[0011]FIG. 2 is an illustration of a plurality of cards;

[0012]FIGS. 3-11 are illustrations of various techniques for focusednavigation of a plurality of options within a user interface;

[0013]FIG. 12 is a timing diagram for displaying a sequence of cards;

[0014]FIG. 13 is a schematic block diagram of a set-top box (STB);

[0015]FIG. 14 a flowchart of a method for focused navigation of aplurality of options within a user interface.

DETAILED DESCRIPTION

[0016] Reference throughout this specification to “one embodiment” or“an embodiment” means that a particular described feature, structure, orcharacteristic is included in at least one embodiment of the presentinvention. Thus, appearances of the phrases “in one embodiment” or “inan embodiment” in various places throughout this specification are notnecessarily all referring to the same embodiment.

[0017] Furthermore, the described features, structures, orcharacteristics may be combined in any suitable manner in one or moreembodiments. In the following description, numerous specific details areprovided, such as examples of programming, software modules, userselections, network transactions, database queries, database structures,etc., to provide a thorough understanding of embodiments of theinvention. One skilled in the relevant art will recognize, however, thatthe invention can be practiced without one or more of the specificdetails, or with other methods, components, materials, etc. In otherinstances, well-known structures, materials, or operations are not shownor described in detail to avoid obscuring aspects of the invention.

[0018] While the following description makes particular reference to ITVsystems, it should be recognized that the present invention may be usedin conjunction with any type of information system in which selectableoptions may be displayed on a display screen. Examples of suchinformation systems include, but are not limited to, ITV systems,personal computers, and mobile computing devices, such as PDAs, webpads,cellular telephones, and the like.

[0019] Referring now to FIG. 1, there is shown a block diagram of an ITVsystem 100 according to an embodiment of the invention. In oneconfiguration, the ITV system 100 includes a television (TV) 102 orother display device having a display screen 104, a set-top box (STB)106, and a remote control 108.

[0020] The STB 106 serves as a gateway between the TV 102 and abroadband communication network (not shown), such as a cable televisionnetwork or a direct broadcast satellite (DBS) network. Onecommercially-available example of an STB 106 is the Motorola DCT5000®interactive set-top terminal.

[0021] The STB 106 receives encoded television signals and other datafrom the broadband network and processes the same for display on thedisplay screen 104. The STB 106 may also include hardware and softwarefor presenting a graphical user interface (GUI) 110 on the displayscreen 104 for operating the various functions and services of the STB106. In alternative embodiments, the STB 106 may be integrated into theTV 102 or may be embodied within a personal computer (PC), mobilecomputing device, or the like.

[0022] The remote control 108 is provided for convenient remoteoperation of the STB 106 and the TV 102. The remote control 108 mayinclude a wireless transmitter 112 for transmitting control signals to awireless receiver 114 within the STB 106 using radio frequency (RF) orinfrared (IR) techniques.

[0023] In addition, the remote control 108 may include a number ofbuttons or other similar controls. For instance, the remote control 108may include an “Up” button 116, a “Down” button 118, a “Left” button120, a “Right” button 122, and a “Select” button 124. In an embodiment,the remote control 108 may further include a “Forward” button 126 and a“Backward” button 128. Of course, a variety of other buttons or controlsmay be provided within the scope of the invention. In alternativeimplementations, the remote control 108 may be embodied as a keyboard,mouse, or other suitable input device.

[0024] As noted, an ITV system 100 typically provides access to aplurality of selectable options, such as channels, programs,applications, digital media files, etc. For instance, an ITV system 100may provide access to literally hundreds of broadcast TV channels,pay-per-view (PPV) channels, music channels, and the like. Additionally,an ITV system 100 may provide access to a number of interactive channelsor applications, including web browsers, e-mail programs, chat clients,personal video recorder (PVR) applications, contact directories, and thelike. Furthermore, an ITV system 100 may store or provide access tostored PVR recordings, digital photographs, audio (MP3) files, or otherforms of digital media.

[0025] As shown in FIG. 2, each selectable option within the ITV system100 may be associated with a card 200. A card 200 is an object or othersuitable data structure that provides information about and/or access toan available option within an ITV system 100. A card 200 may be acontainer of all of the attributes, actions, and/or states needed tofacilitate interaction with the option represented thereby. Cards 200may be stored in any suitable format within a memory or disk drive ofthe ITV system 100.

[0026] Each card 200 may include a graphical representation 202 fordisplay in the GUI 110, as described in detail below. The graphicalrepresentation 202 may include various types or combinations of artwork,digital photography, captured video frames, animations, or the like.

[0027] As depicted in FIG. 2, cards 200 a-c may be used to representtelevision programs or channels. The television programs may be ongoing(live), upcoming, or previously-recorded as of the time of review by auser of cards 200. In addition to a graphical representation 202, suchcards 200 may include but not necessarily display, for instance, achannel number 204, a channel name or identifier 206, a starting time208, a running time 210, and a text description 212. In one embodiment,and as an alternative or in addition to the starting time 208 andrunning time 210, cards 200 may include a time slot 214. Of course,cards 200 representing other types of options may include additional ordifferent types of information, such as audio/video clips, file or pathnames, network addresses (URLs), etc.

[0028] The graphical representations 202 associated with cards 200 mayhave different levels of specificity or granularity. For instance, agraphical representation 202 a may correspond generally to a televisionseries, e.g., “3^(rd) Rock from the Sun,” while another graphicalrepresentation 202 b may correspond to a television programming sourcesuch as a television station, e.g., “TBS,” or network, e.g., “CBS.” Inother embodiments, a graphical representation 202 may correspond to aspecific episode of a television series (e.g., a series premier), oreven a product (purchase opportunity) associated with the televisionprogram. In still other embodiments, a generic graphical representation202 may be provided, which may be overlaid by the channel number 204,text description 212, or other information, where a more specific card200 is not available.

[0029] Cards 200 may be generated locally within an ITV system 100 ormay be received via the broadband network using HTTP (hypertext transferprotocol), FTP (file transfer protocol), ATVEF (advanced televisionenhancement forum) triggers or other well-known protocols or techniques.In one embodiment, a card 200 may be received with data encoded in thevertical blanking interval (VBI) of a television signal. Additionally,information associated with cards 200 (e.g., channel number 204,starting time 208, running time 210) may be dynamically updated withinformation received in ATVEF triggers.

[0030] Referring to FIG. 3, a plurality of cards 200 may be arranged orgrouped together in a package or sequence 300. The sequence 300 may becircular (as depicted), linear, or configured in other ways. Thesequence 300 may be arranged in numerical order by channel number 204,in alphabetical order by the text description 212, or in other preset oruser-defined ways.

[0031] In the illustrated embodiment, one card 200 a in the sequence 300is active or in “focus.” As shown, the active card 200 a may bedisplayed within a focus area 302 of a GUI 110 displayed on the TV 102.For brevity, the phrase “displaying a card” refers herein to displaying,or presenting as output to a display device, a graphical representation202 associated with the card 200. Other information associated with thecard, e.g., the channel number 204 or text description 212, may or maynot be displayed.

[0032] A focus area 302 is a single location of the GUI 110 at which thecards 200 are successively displayed (i.e., displayed one at a time inany direction along a sequence). The focus area 302 may be located at acentral or visually dominant location of the GUI 110, although theinvention is not limited in this respect. As used herein, the term“focused navigation” refers to a technique of displaying a sequence(e.g., sequence 300) of cards 200 within a focus area 302.

[0033] In response to a single user action, the cards 200 in a sequence300 are successively displayed within the focus area 302. Where thesequence 300 is circular, the successive display of cards 200 maycontinue indefinitely until halted by the user by a subsequent action,as described more fully below.

[0034] The single user action to initiate navigation may be pressing (orpressing and holding down) a button on the remote control 108. Forexample, the user may press the “Up” button 116 to initiate thesuccessive display in a first direction within the sequence 300(indicated by line 304), and press the “Down” button 118 to initiatenavigation in the opposite direction (indicated by line 306).Alternatively, the user may speak a command into a microphone (eitherwithin the STB 106 or remote control 108) to initiate navigation.Alternatively, the STB 106 or remote control 108 may incorporate one ormore sensors that allow a user to navigate the cards 200 using bodilygestures. Such or similar sensors may further allow a user to invoke theGUI 110 using bodily gestures. Alternatively, the STB 106 or remotecontrol 108 may incorporate one or more sensors that receive andinterpret electromagnetic signals generated by the body of a user inorder to navigate the cards 200. Alternatively, the ITV system 100 maybe configured such that navigation of cards 200 may be accomplished bytouching or otherwise physically contacting the display screen 104. Ofcourse, the user action may be performed in a variety of other wayswithin the scope of the invention.

[0035] In one embodiment, the sequence 300 of cards 200 is successivelydisplayed at a rate selected by the user. For instance, initiallypressing the “Up” button 116 may cause the sequence 300 to be displayedat a rate of two cards 200 per second. As the user continues to hold the“Up” button 116, the rate may increase gradually or in steps to anypractical rate within the limit of a typical user's ability to recognizeindividual cards 200 when they are displayed. Many users are able torecognize individual cards 200 at a rate of seven or more cards 200 persecond (420 per minute), facilitating rapid navigation of availableoptions.

[0036] The cards 200, when displayed within the focus area 302, may besufficiently large to permit user recognition from a comfortable viewingdistance for the particular display screen 104. Thus, unlike PC icons,which typically occupy as little as {fraction (1/200)} of the displayarea of the display screen 104, the displayed cards 200 (and the card200 in the focus area 302 in particular) may occupy between {fraction(1/10)} and ¼ of the total display area.

[0037] When the user sees displayed a card 200 of a channel or optionthat she desires to select or view, the user may take some additionalaction and the successive display of cards 200 is halted. For example,where navigation was initiated by pressing and holding down the “Up”button 116, the user may release the “Up” button 116 to discontinuenavigation. In an alternative embodiment, where the successive displaywas initiated simply by pressing a button, the user may press the sameor a different button to halt the successive display. Of course, theuser may discontinue navigation in a variety of other ways within thescope of the invention.

[0038] If the user's reaction time is fast enough, the card 200representing the desired channel remains displayed in the focus area 302once navigation is discontinued. However, the user's reaction time maynot be fast enough and one or more cards 200 may be subsequentlydisplayed. In such a case, the user may manually backtrack to thedesired card 200 by repeatedly activating a suitable control on theremote control 108. For example, briefly pressing the “Up” or “Down”buttons 116, 118 may result in the previous or next card 200,respectively, being displayed. Alternatively, as described in greaterdetail below, the ITV system 100 may attempt to determine the delaybetween the user recognizing the desired card 200 and taking thesubsequent action and compensate for that delay by reverting to apreviously-displayed card 200.

[0039] The user may select the channel or option associated with thedisplayed card 200 by taking a selection action. For instance, the usermay press the “Select” button 124 on the remote control. Alternatively,the selection action may simply be waiting a set amount of time withoutactivating any controls on the remote control 108.

[0040] The effect of activating the card 200 will vary depending on thetype of card 200. For instance, in the case of a card 200 representing alive television program, the GUI 110 may be replaced by a full-sizeversion of the program. Alternatively, activating a card 200corresponding to a purchase opportunity may result in the display of aweb browser directed to a particular website.

[0041] As shown in FIG. 4, one or more previous and next cards 200within the sequence 300 may be displayed along an axis of the GUI 110 toprovide the user with a more complete navigational context within thesequence 300. For example, at least a subset of the sequence 300 ofcards 200 may be displayed along a vertical axis, with the active card200 a being displayed in the focus area 302. In alternative embodiments,the cards 200 may be displayed along horizontal or diagonal axes, or inother suitable ways.

[0042] Typically, one or more cards 200 in a sequence 300 are notdisplayed. These off-screen or hidden cards may be dynamically changed,replaced, or updated during navigation, e.g., a card 200 representing anadvertisement may change from one sponsor to another.

[0043] When a user activates one of the navigation buttons of the remotecontrol 108 (e.g., the “Up” or “Down” buttons 116, 118), the displayedcards 200 in the sequence 300 may appear to shift or cycle downward orupward, respectively, with a new card (e.g., card 200 c or 202 f)entering the focus area 302. Alternatively, the “Left” or “Right” button120, 122 may be used for the same purpose.

[0044] As depicted, the card 200 a in the focus area 302 may be visuallyemphasized in various ways. For example, the card 200 a may be enlargedrelative to the other displayed cards 200. Alternatively, the card 200 amay be animated, marked, illuminated, highlighted, or otherwise setapart from the other cards 200.

[0045] In certain embodiments, if the user allows a card 200representing a live television program to remain in the focus area 302for a certain amount of time (e.g., 2 seconds), the card 200 a may beoverlaid by a video window 402 showing the live television program.Furthermore, if the user continues to linger on the card 200 a (or ifthe user presses the “Select” button 124), the video window 402 may beenlarged 402 to fill the entire display screen 104. Other types of cards200 may exhibit different types of behaviors when the card 200 remainsin the focus area 302 for an established period of time.

[0046] Where the cards 200 represent live television programs, a card200 corresponding to the currently-tuned channel (at the current dateand time) may be selected by default for display in the focus area 302each time the GUI 110 is shown. This may occur, for instance, when theuser is watching TV and presses a button (such as the “Select” button124) in order to display the GUI 110. Additionally, an indication of thecurrently-displayed card 200 in the focus area 302 may be stored innon-volatile memory or otherwise maintained such that if a resetcondition occurs (e.g., the STB 106 is rebooted or reset after a powerloss, etc.) the last-displayed card 200 may be restored to the focusarea 302.

[0047] As shown in FIG. 5, cards 200 may include one or more alternativegraphical representations 502, which may be displayed when the card 200enters the focus area 302. As depicted, cards 200 c-f displayed outsideof the focus area 302 are shown using a first graphical representation202 c-f. However, when the card 200 a enters the focus area 302, thealternative graphical representation 502 is shown. Additionally, cards200 outside of the focus area 302 may be displayed in a reduced-sizeformat with text descriptions 212.

[0048] Referring to FIG. 6, a plurality of cards 200 may be arranged orgrouped together in a package or sequence 600. In the illustratedembodiment, the cards 200 n-r in the sequence 600 represent a singletelevision network (e.g., CBS), as indicated by the graphicalrepresentation 202 b. The cards 200 n-r in the sequence 600 furtherrepresent the television programs, as indicated by the text descriptions212 n-r, carried by the represented television network. In analternative embodiment, the graphical representation 202 b depicting thetelevision network represented by cards 200 may be replaced by orsupplemented with a graphical representation 202 of the representedtelevision programs.

[0049] The sequence 600 may be circular (as depicted), linear, orconfigured in other ways. In the illustrated embodiment, the sequence600 is arranged in chronological order by time slot 214. Although, asillustrated, the time slots 214 associated with the sequence 600 rangefrom 3:30 pm to 9:00 pm on a single day (e.g., Jan. 20, 2002), such achronological range can be expanded or contracted in accordance withpreset or user-defined criteria and to the greatest extent practicable.

[0050] In the illustrated embodiment, one card 200 n in the sequence 600is active or in “focus.” In an embodiment, the card 200 associated withthe time slot 214 corresponding to the current time (i.e., the card 200representing live programming as the user addresses the sequence 600)is, as a default condition, in focus. As shown, the active card 200 nmay be displayed within a focus area 302 of a GUI 110 displayed on theTV 102. Other information associated with the card (e.g., the channelnumber 204 or text description 212) may or may not be displayed.

[0051] In response to one or more user actions, the cards 200 in thesequence 600 are successively displayed within the focus area 302. Wherethe sequence 600 is circular, the successive display of cards 200 maycontinue indefinitely until halted by a subsequent action by the user,as described more fully herein.

[0052] The user action to initiate navigation may be pressing andreleasing (or pressing and holding down) a button on the remote control108. For example, the user may press the “Forward” button 126 repeatedlyto effectuate a corresponding card-by-card (i.e., program-by-program)navigation of sequence 600 in a first direction (indicated by arrow604). In the illustrated embodiment of FIG. 6, pressing the “Forward”button 126 once will, as indicated by arrow 608, supplant within thefocus area 302 the card 200 n with card 200 r representing a later timeslot 214 r. The user may likewise press the “Backward” button 128repeatedly to effectuate a corresponding card-by-card navigation ofsequence 600 in a second direction (indicated by arrow 606). In theillustrated embodiment of FIG. 6, pressing the “Backward” button 128once will, as indicated by arrow 610, supplant within the focus area 302the card 200 n with card 200 o representing an earlier time slot 214 o.

[0053] In an embodiment, navigation of sequence 600 may be by preset oruser-defined time slot increments (e.g., 30 minutes, 60 minutes, etc.),rather than the program-by-program navigation discussed above. Inaddition, any one visual feature or combination of visual features(e.g., text description 212, graphical representation 202, time slot214) of cards 200 may change color or otherwise visually convey adifferent time slot state in response to navigation among cards 200. Forexample, the text associated with cards 200 representing earlier timeslots may be in red, text of cards 200 representing current time slotsmay be in green, and text of cards 200 representing later time slots maybe in blue. Of course, audible state indicators may also be used toprovide time slot state information in response to navigation amongcards 200.

[0054] In an alternative embodiment, the user may press the “Forward”button 126 to initiate a continual successive display in the firstdirection within the sequence 600 (indicated by arrow 604), and pressthe “Backward” button 128 to initiate a continual successive display inthe opposite direction (indicated by arrow 606). Alternatively, the usermay speak a command into a microphone (either within the STB 106 orremote control 108) to initiate navigation. Of course, the user mayinitiate navigation in a variety of other ways within the scope of theinvention.

[0055] In one embodiment, the sequence 600 of cards 200 is successivelydisplayed at a rate selected by the user in the manner described abovein connection with sequence 300.

[0056] When the user sees displayed a card 200 representing a time slot214 and/or programming that she desires to select or view, the user maytake some additional action to halt the successive display of cards 200.For example, where navigation was initiated by pressing and holding downthe “Forward” button 126, the user may release the “Forward” button 126to discontinue navigation. In an alternative embodiment, where thesuccessive display was initiated simply by pressing a button, the usermay press the same or a different button to halt the successive display.Of course, the user may discontinue navigation in a variety of otherways within the scope of the invention.

[0057] If the user's reaction time is fast enough, the card 200representing the desired channel remains displayed in the focus area 302once navigation is discontinued. However, the user's reaction time maynot be fast enough and one or more cards 200 may be subsequentlydisplayed. In such a case, the user may manually backtrack to thedesired card 200 by repeatedly activating a suitable control on theremote control 108. For example, briefly pressing the “Forward” or“Backward” buttons 126, 128 may result in the previous or next card 200,respectively, being displayed. Alternatively, as described in greaterdetail below, the ITV system 100 may determine the delay between theuser recognizing the desired card 200 and taking the subsequent action,whereupon the ITV system 100 may compensate for that delay by revertingto a previously-displayed card 200.

[0058] The user may select or activate the programming associated withthe displayed card 200 by taking a selection action. For instance, theuser may press the “Select” button 124 on the remote control.Alternatively, the selection action may simply be waiting a set amountof time without activating any controls on the remote control 108.

[0059] The effect of activating the card 200 will vary depending on thetime slot associated with the activated card 200. For instance, if at7:45 pm on Jan. 20, 2002 card 200 n (representing, at such time, a livetelevision program) is selected, the GUI 110 may be replaced by afull-size version of the program described by text description 212 n.Alternatively, if at 7:45 pm on Jan. 20, 2002 card 200 r (representing,at such time, a television program to be broadcast in a later time slotby the represented network) is selected, the user may, via the GUI 110or otherwise, be offered the opportunity to record, by a personal videorecorder or other recording means, the program described by textdescription 212 r. Alternatively, if at 7:45 pm on Jan. 20, 2002 card200 o (representing, at such time, a television program broadcast in anearlier time by the represented network) is selected, the user may, viathe GUI 110 or otherwise, be offered the opportunity to view a recordedor otherwise stored version of the program described by text description212 o.

[0060] As shown in FIG. 7, multiple sequences 700 a-c of cards 200 maybe displayed simultaneously within the GUI 110. For instance, one ormore cards 200 n, 200 o, 200 r from a sequence 700 a representing both afirst television network and the television programs carried by thefirst television network may be displayed as described in reference toFIG. 6. In addition, one or more cards 200 s-u from a sequence 700 brepresenting both a second television network and the televisionprograms carried by the second television network may be displayed in acorresponding region (e.g., above the focus area 302) of the GUI 110. Inaddition, one or more cards 200 v-x from a sequence 700 c representingboth a third television network and the television programs carried bythe third television network may be displayed in a corresponding region(e.g., below the focus area 302) of the GUI 110. Each of the sequences700 a-c and their respective cards 200 may function, be structuredand/or interrelate in a manner identical to that of sequence 600 and itscards 200 described above. As shown in FIG. 7, a card 200 (in theillustrated example, card 200 n) displayed in the focus area 302 mayexpand, in terms of spatial dimension and/or displayed information, toshow, in addition to the text description 212, its associated channelnumber 204 and time slot 214 or any of the other card attributespreviously discussed. Of course, more or fewer sequences 700 may besimultaneously displayed as is practicable. Additionally, the characterof the graphical representations 202 associated withsimultaneously-displayed cards 200 need not be homogeneous. For example,the graphical representation 202 of a card 200 displayed in the focusarea 302 may depict a network, while the graphical representations 202of a card or cards 200 displayed outside of the focus area 302 maydepict a television program (and vice versa).

[0061] As shown in the embodiment illustrated in FIG. 7A, in response toone or more user actions, the cards 200 o, 200 n, 200 r in the sequence700 a can be successively displayed within the focus area 302 in amanner identical to that of sequence 600 and its cards 200 describedabove. The cards 200 s-u in the sequence 700 b and cards 200 v-x in thesequence 700 c can be simultaneously successively displayed in order tobetter inform the user of available viewing options.

[0062] For example, at 7:45 pm (as may be indicated by a clock 712displayed on display screen 104) on Jan. 20, 2002 each of cards 200 n,200 t, 200 w represent live television programming respectively carriedby the represented television networks. Accordingly, at the exemplary7:45 pm time, card 200 n, for example, is displayed in the focus area302, along with cards 200 t, 200 w which are displayed outside of thefocus area 302, in order to show the user the available televisionprogramming in a 7:30-8:00 pm time slot. In an embodiment, the GUI 110may include an animated time slot indicator 714 that, in the illustratedexample, outlines in boldface the time slot associated with thedisplayed cards, as well as outlining in phantom the preceding andsucceeding contiguous time slots. Of course, other formats, such as asimulated analog clock, may be used for indicator 714 in order toprovide programming schedule context to the user.

[0063] The user may press, for example, the “Forward” button 126 (asindicated by arrow 708) to simultaneously advance sequences 700 a-cahead 30 minutes, for example, to an 8:00-8:30 pm time slot. Suchnavigation enables the user to view available future programmingrepresented by, in the example of FIGS. 7 and 7A, cards 200 n, 200 u,200 x representing television programming respectively carried by therepresented television networks in the 8:00-8:30 pm time slot. The usermay likewise press, for example, the “Backward” button 128 (as indicatedby arrow 710) to simultaneously advance sequences 700 a-c back 30minutes, for example, to a 7:00-7:30 pm time slot. Such navigationenables the user to view potentially-available previous programmingrepresented by, in the example of FIGS. 7 and 7A, cards 200 o, 200 s,200 v representing television programming respectively carried by therepresented television networks in the 7:00-7:30 pm time slot.

[0064] As shown in the embodiment illustrated in FIG. 7B, in response toone or more user actions, cards 200 of the sequences 700 a-c can besuccessively displayed within the focus area 302. Accordingly, thesequences 700 a-c may be regarded as being navigable in a sequence 700d. The cards 200 of the sequences 700 a-c in any past, present or futuretime slot can be navigated in order to allow the user to choose from theavailable viewing options.

[0065] For example, at 7:45 pm (as may be indicated by a clock 712displayed on display screen 104) on Jan. 20, 2002 each of cards 200 n,200 t, 200 w represent live television programming respectively carriedby the represented television networks. Accordingly, at the exemplary7:45 pm time, card 200 n is displayed in the focus area 302, along withcards 200 t, 200 w which are displayed outside of the focus area 302, inorder to show the user the available television programming in a7:30-8:00 pm time slot. As indicated by arrow 720, the user may press,for example, the “Up” button 116 to move card 200 w into the focus area302, thereby moving card 200 n into a region above, for example, thefocus area 302. Such navigation enables the user to select card 200 w.As indicated by arrow 718, the user may likewise press, for example, the“Down” button 118 to move card 200 t into the focus area 302, therebymoving card 200 n into a region below, for example, the focus area 302.Such navigation enables the user to select card 200 t.

[0066] As is similarly the case with sequence 600, if a card 200representing a live television program is selected from any of sequences700 a-c, the GUI 110 may be replaced by a full-size version of theprogram described by the corresponding text description 212.Alternatively, if a card 200 representing a television program to bebroadcast at a future time is selected from any of sequences 700 a-c,the user may, via the GUI 110 or otherwise, be offered the opportunityto record, by a personal video recorder or other recording means, theprogram described by the corresponding text description 212.Alternatively, if a card 200 representing a television program broadcastat an earlier time is selected from any of sequences 700 a-c, the usermay, via the GUI 110 or otherwise, be offered the opportunity to view arecorded or otherwise stored version of the program described by thecorresponding text description 212.

[0067] Referring to FIG. 8, a plurality of cards 200 may be arranged orgrouped together in a package or sequence 800. In the illustratedembodiment, the cards 200 y, 200 z, 200 aa, 200 bb, 200 cc in thesequence 800 represent a single television program (e.g., “JAG”), asindicated by the text description 212 p, and the televisionnetwork/station, as indicated by the graphical representations 202 b,202 p carrying the television program. In an alternative embodiment, thegraphical representation 202 b, 202 p depicting the televisionnetwork/station represented by cards 200 may be replaced by orsupplemented with a graphical representation 202 of the representedtelevision program. The sequence 800 may be generated, for example,through a search capability associated with ITV system 100 in responseto a user-initiated search for a selection of instances in which theparticular television program is broadcast. Such a selection of whichsequence 800 is comprised may include solely or any combination ofpreviously-, currently-, or to-be-broadcast episodes of the televisionprogram.

[0068] In response to one or more user actions, the cards 200 in thesequence 800 are successively displayed within the focus area 302. Wherethe sequence 800 is circular, the successive display of cards 200 maycontinue indefinitely until halted by a subsequent action by the user,as described more fully herein.

[0069] The user action to initiate navigation may be pressing andreleasing (or pressing and holding down) a button on the remote control108. For example, the user may press the “Forward” button 126 repeatedlyto effectuate a corresponding card-by-card (i.e., episode-by-episode)navigation of sequence 800 in a first direction (indicated by arrow804). In the illustrated embodiment of FIG. 8, pressing the “Forward”button 126 once will, as indicated by arrow 808, supplant within thefocus area 302 the card 200 y, with card 200 z representing a later timeslot 214 z, which may represent the next instance of a future broadcastof the television program. The user may likewise press the “Backward”button 128 repeatedly to effectuate a corresponding card-by-cardnavigation of sequence 800 in a second direction (indicated by arrow806). In the illustrated embodiment of FIG. 8, pressing the “Backward”button 128 once will, as indicated by arrow 810, supplant within thefocus area 302 the card 200 y, with card 200 aa representing an earliertime slot 214 o, which may represent the most recent instance of aprevious broadcast of the television program. Of course, as is the casewith the sequences discussed above with reference to FIGS. 7-7B,sequence 800 may be simultaneously displayed with other sequences ofcards 200 within GUI 110.

[0070] As is similarly the case with sequence 600, if a card 200representing a live television program is selected from sequence 800,the GUI 110 may be replaced by a full-size version of the programdescribed by the corresponding text description 212. Alternatively, if acard 200 representing a television program to be broadcast at a futuretime is selected from sequence 800, the user may, via the GUI 110 orotherwise, be offered the opportunity to record, by a personal videorecorder or other recording means, the program described by thecorresponding text description 212. Alternatively, if a card 200representing a television program broadcast at an earlier time isselected from sequence 800, the user may, via the GUI 110 or otherwise,be offered the opportunity to view a recorded or otherwise storedversion of the program described by the corresponding text description212.

[0071] As shown in FIG. 9, multiple sequences 300 a-b includingdifferent types of cards 200 may be displayed simultaneously. Forinstance, one or more cards 200 from a sequence 300 a representingtelevision programs, networks and/or time slots may be displayed asdescribed herein. In addition, one or more cards 200 from a sequence 300b representing interactive channels, applications, or digital media, mayalso be displayed.

[0072] As illustrated, the second sequence 300 b may be displayedhorizontally, perpendicular to the first sequence 300 a, such that thesequences 300 a-b intersect at (and define) the focus area 302. Anynumber of sequences may be displayed on the GUI 110 simultaneously. Ofcourse, the selection of vertical and horizontal for the sequences 300a-b is merely exemplary and not required.

[0073] In the depicted embodiment, the “Up” and “Down” buttons 116, 118may be used to shift or cycle the vertically-displayed sequence 300 awithin the GUI 110 in order to bring one of the corresponding cards 200a-e into the focus area 302. Likewise, the “Left” and “Right” buttons120, 122 may be used to shift or cycle the horizontally-displayedsequence 300 b to bring one of the corresponding cards 200 g-k into thefocus area 302.

[0074] In one implementation, bringing a card 200 from one sequence 300into the focus area 302 will determine or change which other sequence300 is displayed. For example, bringing the card 200 h (TVrepresentation) from the horizontal sequence 300 b into focus may resultin the vertical sequence 300 a (television programs) being displayed.Alternatively, bringing the card 200 g (envelope representation) intofocus may result in a vertical sequence 300 (not shown) corresponding toe-mail messages or contacts. Likewise, bringing the card 200 i(videophone representation) into focus may result in a vertical sequence300 of a videoconferencing buddy list, while the card 200 j (VCRrepresentation) may display a vertical sequence 300 of televisionprograms recorded by a PVR. In alternative embodiments, a selection froma vertical sequence 300 may affect which horizontal sequence 300 isdisplayed.

[0075] As shown in FIG. 10, the intersection of two displayed sequences300 a-b may generate quadrants 1000 that may be used for variouspurposes. In one embodiment, the quadrants 1000 are context-sensitiveregions that display supplemental information, advertising, or the like,depending on the card 200 in the focus area 302. In other embodiments,one or more quadrants 1000 may display information targeted to the userbased on user profile information within the ITV system 100.

[0076] In the depicted embodiment, the lower right quadrant 1000 a maycontain detailed information about the card 200 being displayed in thefocus area 302. In the case of a card 200 representing a televisionprogram, the quadrant 1000 a may display information taken from thechannel number 204, channel name or identifier 206, starting time 208,running time 210, and/or text description 212 associated with the card200.

[0077] The upper right quadrant 1000 b may include context-sensitive,context-insensitive, or user-targeted information. For example, in anepisode of “3^(rd) Rock from the Sun” featuring Dick Solomon driving anew BMW, a corresponding advertisement may be shown. The advertisementmay be displayed in response to receipt of an ATVEF trigger, althoughother mechanisms may be used within the scope of the invention.

[0078] The upper left quadrant 1000 c may be used for branding purposes.For instance, as shown in FIG. 10, the quadrant 1000 c may show a logofor a cable or satellite provider associated with the ITV system 100. Incertain implementations, the quadrant 1000 c may be context-sensitive,displaying branding corresponding to the particular vertical and/orhorizontal sequences 300 a-b or cards 200 being displayed.

[0079] Finally, the lower left quadrant 1000 d may be used to displaysystem notes and instructional text. For example, where the user isnavigating a sequence 300 a of cards 200 corresponding to televisionprograms, instructional text may be provided that prompts the user toselect a television program.

[0080] The size of the quadrants 1000 may vary depending, for instance,on the location of the intersection of the displayed sequences 300 a-b.If the intersection is near the center of the GUI 110, the quadrants maybe equal in size; otherwise, the relative sizes of the quadrants 1000may vary.

[0081] In alternative embodiments, a single vertical or horizontalsequence 300 a-b may result in the creation of hemispheres (not shown)rather than quadrants 1000. In still other embodiments, multiplevertical or horizontal sequences 300 a-b may result in the creation ofany number of context-sensitive regions.

[0082] As illustrated in FIG. 11, different types of cards 200 may beincluded within a single sequence 300. For example, cards 200 c-f maycorrespond to television programs, while card 200 m represents apurchase opportunity. In the depicted embodiment, card 200 m includes agraphical representation 202 m (advertisement), as well as a link ornetwork address 1122, such as a uniform resource locator (URL), to acommercial website.

[0083] If the card 200 m remains in the focus area 302 for asufficiently long period, or if the user presses the “Select” button124, the displayed sequence 300 may be replaced by a web browser 1124,which is automatically directed to the network address 1122 associatedwith the card 200 m. Thereafter, the user may elect to proceed with thepurchase opportunity or return to the displayed sequence 300 of cards200.

[0084] Referring to FIG. 12, there are shown three timing diagrams 902,904, 906 illustrating the successive display of cards 200 according toembodiments of the invention. Each vertical line within the timingdiagrams represents a moment in time at which a particular card 200 isdisplayed. In diagram 902, after a single user action, cards 200 aresuccessively displayed at moments 906, 908, 910, and so on. When theuser takes some additional action to discontinue navigation, thesuccessive display of cards 200 may be halted at moment 912.

[0085] In certain instances, the ITV system 100 may automaticallycompensate for the user's delayed response by reverting to a previouslydisplayed card 200 once the user halts the successive display. Forexample, if a card 200 representing a desired channel is displayedwithin the GUI 110 at moment 912, but the user takes the additionalaction to discontinue navigation at moment 914, the ITV system 100 maybe configured to automatically revert to the card 200 displayed asuitable amount of time 916 before the action was taken. The amount oftime may be preset or user-defined, or may be calculated based onhistorical user reaction times.

[0086] The rate at which the cards 200 are successively displayed may beincreased in response to the user taking a suitable action. For example,as shown in timing diagram 904, the rate at which cards 200 aresuccessively displayed may gradually increase from a minimum rate 918 toa maximum rate 920 (preferably at or below the user's image recognitionlimit). Alternatively, as shown in timing diagram 906, the display ratemay increase from a minimum rate 922 to an intermediate rate 924 to amaximum rate 926 according to a stepwise function. The user action toincrease the display rate may take many forms, such as holding down abutton on the remote control 108 for a set amount of time. In such case,the rate may be increased based on how long the button is held down.Alternatively, the user may increase the display rate by repeatedlypressing a button on the remote control 108, in which case the rate maybe increased each time the button is pressed.

[0087]FIG. 13 is a schematic block diagram of an STB 106 according to anembodiment of the invention. The illustrated components may be logicalor physical and may be implemented using any suitable combination ofhardware, software, and/or firmware.

[0088] In one configuration, the STB 106 includes a network interface1002 for communicating with a broadband network, such as a cabletelevision network or a DBS (Direct Broadcast Satellite) network. Thenetwork interface 1002 may conform to the DOCSIS (Data Over CableService Interface Specification) or DAVIC (Digital Audio-Visual Council)cable modem standards. Additionally, the network interface 1002 mayinclude standard circuitry for receiving MPEG (Moving Picture ExpertsGroup) streams including multiplexed television programs and data fromthe broadband network. One or more sequences 300, 600, 700, 800 of cards200 may be received by the interface 1002 from a server accessible viathe broadband network or the Internet.

[0089] The STB 106 further includes a memory 1004, such as a randomaccess memory (RAM) and/or read-only memory (ROM). The memory 1004 maystore an operating system (OS) for the STB 106 (e.g., Windows CE® orLinux®), application program code, and various types of data. In oneembodiment, the memory 1004 stores one or more sequences 300, 600, 700,800 of cards 200. In other embodiments, the sequences 300, 600, 700, 800may be stored within a mass storage device 1006, such as a hard diskdrive, optical storage device, or the like.

[0090] An input interface 1008 may be provided for receiving commandsfrom an input device, such as a remote control 108. In one embodiment,the input interface 1008 may include or be associated with the wirelessreceiver 114 described in connection with FIG. 1. The input interface1008 may detect a single user action for initiating navigation, such asthe user pressing the “Up” or “Down” buttons 116, 118 on the remotecontrol 108.

[0091] The STB 106 may further include a display interface 1010 forgenerating a GUI 110 on an attached TV 102 or other display device. Inaddition, the display interface 1010 may be responsible for successivelydisplaying cards 200 from one or more stored sequences 300, 600, 700,800 in a focus area 302 of the GUI 110 in response to the single useraction being detected by the input interface 1008, as previouslydescribed. Likewise, the display interface 1010 may be responsible forhalting the successive display in response to detection of a subsequentuser action.

[0092] A tuner 1012 may be included for demodulating and demultiplexingselected MPEG streams received by the STB 106 from the broadbandnetwork. The tuner 1012 may be used to tune to a particular televisionprogram in response -to a user selection of a card 200, e.g., inresponse to the user pressing the “Select” button 124 or when the user“lingers” on a card 200 in the focus area 302.

[0093] A CPU 1014 controls the operation of the STB 106, including theother components described above, which may be in electricalcommunication with the CPU 1014 via a bus 1016. The CPU 1014 may beembodied as a microprocessor, a microcontroller, a digital signalprocessor (DSP) or other device known in the art. For instance, the CPU1014 may be embodied as an Intel® x86 processor. The CPU 1014 mayperform logical and arithmetic operations based on program code storedwithin the memory 1004 or the mass storage device 1006.

[0094] Although not shown in FIG. 13, the STB 106 may include othercomponents that allow the STB 106 to communicate with and/or control,via either wireless or other means, multiple televisions, personalcomputers, and other media storage and presentation devices within anetwork or location.

[0095] Of course, FIG. 13 illustrates only one possible configuration ofan STB 106. Those skilled in the art will recognize that various otherarchitectures and components may be provided within the scope of theinvention. In addition, various standard components are not illustratedin order to avoid obscuring aspects of the invention.

[0096] Referring to FIG. 14, there is shown a flowchart of a method 1100for focused navigation of a plurality of options within a GUI 110. Themethod 1100 begins by storing 1102 at least one of sequences 300, 600,700, 800 of cards 200 representing channels or other available optionswithin an ITV system 100.

[0097] In one configuration, the method 1100 waits 1104 for user input.When a single user action is detected 1106, as previously discussed, thecards 200 from the sequence 300, 600, 700, 800 are successivelydisplayed 1108 in a focus area 302 of the GUI 110. This successivedisplay continues until a subsequent user action is detected 1110, atwhich point the successive display is discontinued and a single card 200corresponding to a selected option is displayed 1112 within the focusarea 302.

[0098] Thereafter, depending on the particular type of card 200, variousactions may be taken if the user actively selects the card 200 (e.g.,presses the “Select” button 124 on the remote control 108) or waitsbeyond an established time period to either select the card 200,continue navigation, or take some other action. For example, a card 200in the focus area 302 may be replaced by a video window 402 showing alive television program after a period of inaction (lingering) by theuser.

[0099] All of the above U.S. patents, U.S. patent applicationpublications, U.S. patent applications, foreign patents, foreign patentapplications and non-patent publications referred to in thisspecification and/or listed in the Application Data Sheet, areincorporated herein by reference, in their entirety.

[0100] While specific embodiments and applications of the presentinvention have been illustrated and described, it is to be understoodthat the invention is not limited to the precise configuration andcomponents disclosed herein. Various modifications, changes, andvariations apparent to those skilled in the art may be made in thearrangement, operation, and details of the methods and systems of thepresent invention disclosed herein without departing from the spirit andscope of the invention.

What is claimed is:
 1. A method for navigation of television programlistings within a user interface, the method comprising: successivelydisplaying a first set of visual cards in a first area of the userinterface, each visual card of the first set of visual cardsrepresenting a corresponding broadcast time slot associated with atelevision program; and enabling selection of a particular visual cardof the first set of visual cards by a user in order to view thetelevision program corresponding to the time slot represented by theselected visual card.
 2. The method of claim 1, further comprisingstoring the first set of visual cards.
 3. The method of claim 1, furthercomprising discontinuing the successive display of the first set ofvisual cards.
 4. The method of claim 1, wherein each visual cardgraphically represents its associated television program.
 5. The methodof claim 1, wherein each broadcast time slot is 30 minutes in length. 6.The method of claim 1, wherein the successive display of visual cards isin response to a single user action.
 7. The method of claim 6, whereinselection of a particular visual card is in response to an additionaluser action.
 8. The method of claim 1, wherein selection of a particularvisual card is in response to a single user action.
 9. The method ofclaim 1, further comprising successively displaying a second set ofvisual cards in a second area of the user interface, each visual card ofthe second set of visual cards representing a corresponding broadcasttime slot associated with a television program.
 10. The method of claim9, further comprising storing the second set of visual cards.
 11. Themethod of claim 9, further comprising discontinuing the successivedisplay of the second set of visual cards.
 12. The method of claim 9,wherein the first and second sets of visual cards are simultaneouslysuccessively displayed.
 13. The method of claim 12, wherein the timeslot corresponding to the displayed first set visual card and the timeslot corresponding to the displayed second set visual card areidentical.
 14. The method of claim 9, wherein each visual card of thesecond set of visual cards graphically represents its associatedtelevision program.
 15. The method of claim 1, wherein each broadcasttime slot is defined by the television program broadcast therein. 16.The method of claim 1, wherein the time slot represented by the selectedvisual card is one of an earlier, current or future time slot.
 17. Asystem for focused navigation of a plurality of television programswithin a user interface, the system comprising: a user input detectorconfigured to detect actions of a user; and a processor configured tosuccessively display a first set of visual cards in a first area of theuser interface, each visual card of the first set of visual cardsrepresenting a corresponding broadcast time slot associated with atelevision program, the processor further configured to enable selectionof a particular visual card of the first set of visual cards by the userin order to view the television program corresponding to the time slotrepresented by the selected visual card.
 18. The system of claim 17,further comprising a storage device configured to store the visualcards.
 19. The system of claim 17, wherein the processor is furtherconfigured to discontinue the successive display of the first set ofvisual cards.
 20. The system of claim 17, wherein each visual cardgraphically represents its associated television program.
 21. The systemof claim 17, wherein each broadcast time slot is 30 minutes in length.22. The system of claim 17, wherein the processor successively displaysthe visual cards in response to a single user action.
 23. The system ofclaim 22, wherein selection of a particular visual card is in responseto an additional user action.
 24. The system of claim 17, whereinselection of a particular visual card is in response to a single useraction.
 25. The system of claim 17, wherein the processor is furtherconfigured to successively display a second set of visual cards in asecond area of the user interface, each visual card of the second set ofvisual cards representing a corresponding broadcast time slot associatedwith a television program.
 26. The system of claim 25, furthercomprising a storage device configured to store the second set of visualcards.
 27. The system of claim 25, wherein the processor is furtherconfigured to discontinue the successive display of the second set ofvisual cards.
 28. The system of claim 25, wherein the processor isfurther configured to simultaneously successively display the first andsecond sets of visual cards.
 29. The system of claim 28, wherein thetime slot corresponding to the displayed first set visual card and thetime slot corresponding to the displayed second set visual card areidentical.
 30. The system of claim 25, wherein each visual card of thesecond set of visual cards graphically represents its associatedtelevision program.
 31. The system of claim 17, wherein each broadcasttime slot is defined by the television program broadcast therein. 32.The system of claim 17, wherein the time slot represented by theselected visual card is one of an earlier, current or future time slot.33. A method for navigation of television program listings within a userinterface, the method comprising: successively displaying a first set ofvisual cards in a first area of the user interface, at least one visualcard of the first set of visual cards representing an interactivetelevision channel; successively displaying a second set of visual cardsin the first area of the user interface, each visual card of the secondset of visual cards representing a corresponding broadcast time slotassociated with a television program; and enabling selection of aparticular visual card of the second set of visual cards by a user inorder to view the television program corresponding to the time slotrepresented by the selected visual card.
 34. The method of claim 33,wherein the successive display of visual cards is in response to asingle user action.
 35. The method of claim 34, wherein selection of aparticular visual card is in response to an additional user action. 36.The method of claim 33, wherein selection of a particular visual card isin response to a single user action.
 37. The method of claim 33, whereinthe user enables the successive display of the second set of visualcards by selecting a particular visual card of the first set of visualcards.
 38. The method of claim 33, further comprising successivelydisplaying a third set of visual cards in a second area of the userinterface, each visual card of the third set of visual cardsrepresenting a corresponding broadcast time slot associated with atelevision program.
 39. The method of claim 38, wherein the second andthird sets of visual cards are simultaneously successively displayed.40. The method of claim 39, wherein the time slot corresponding to thedisplayed second set visual card and the time slot corresponding to thedisplayed third set visual card are identical.
 41. The method of claim38, wherein each visual card of the third set of visual cardsgraphically represents its associated television program.
 42. An articleof manufacture comprising: a carrier signal adapted to carry data, thedata functionally related to the carrier signal such that a first set ofvisual cards is successively displayed in a first area of a userinterface, each visual card of the first set of visual cardsrepresenting a corresponding broadcast time slot associated with atelevision program, the data further functionally related to the carriersignal such that selection of a particular visual card of the first setof visual cards by a user is enabled in order to view the televisionprogram corresponding to the time slot represented by the selectedvisual card.
 43. A system for focused navigation of a plurality oftelevision programs within a user interface, the system comprising:means for successively displaying a first set of visual cards in a firstarea of the user interface, each visual card of the first set of visualcards representing a corresponding broadcast time slot associated with atelevision program; and means for enabling selection of a particularvisual card of the first set of visual cards by a user in order to viewthe television program corresponding to the time slot represented by theselected visual card.